home *** CD-ROM | disk | FTP | other *** search
- // ==================================================
- // CTouchMePref.cp
- // Copyright (C) 1996 Mizutori Tetsuya, July 4 1996.
- // ==================================================
- // All documents are pretty-printed in Geneva 10-point font.
-
- #pragma once
-
- #include <OSUtils.h>
-
- //#include <UMemoryMgr.h>
- #include <LString.h>
-
- #include "LPrefsFile.h"
- #include "CTouchMePref.h"
- #include "UDateTime.h"
-
-
- #define isButtonOn( xState ) ( (xState) == Button_On )
- #define nButtonValue( xBoolean ) ( (xBoolean) ? Button_On : Button_Off )
-
-
- // --------------------------------------------------
- // ・ CTouchMePref()
- // --------------------------------------------------
-
- CTouchMePref::CTouchMePref()
- {
- ::SetRect( &mWindowRect, 0, 0, 0, 0 );
- }
-
-
- // --------------------------------------------------
- // ・ CTouchMePref()
- // --------------------------------------------------
-
- CTouchMePref::CTouchMePref(
- ConstStr255Param inFileName )
- : LPrefsFile( inFileName )
- {
- ::SetRect( &mWindowRect, 0, 0, 0, 0 );
- }
-
-
- // --------------------------------------------------
- // ・ ~CTouchMePref
- // --------------------------------------------------
-
- CTouchMePref::~CTouchMePref()
- {
- }
-
-
- // --------------------------------------------------
- // ・ LoadPrefData
- // --------------------------------------------------
-
- OSErr
- CTouchMePref::LoadPrefData( void )
- {
- LoadPref( (Ptr) &mPrefRec, sizeof(SPrefRec) );
- TransformStructToMember();
-
- return noErr;
- }
-
-
- // --------------------------------------------------
- // ・ StorePrefData
- // --------------------------------------------------
-
- OSErr
- CTouchMePref::SavePrefData()
- {
- TransformMemberToStruct();
- SavePref( (Ptr) &mPrefRec, sizeof(SPrefRec) );
-
- return noErr;
- }
-
-
- // --------------------------------------------------
- // ・ TransformStructToMember
- // --------------------------------------------------
-
- void
- CTouchMePref::TransformStructToMember( void )
- {
- mVersion = mPrefRec.version;
- SetWindowRect( mPrefRec.wframe );
- SetSync( isButtonOn( mPrefRec.sync ) );
-
- for ( long k=touchType_CreationDate; k<touchType_END; k++ ) {
- SetEnabled( (ETouchType) k, isButtonOn( mPrefRec.enabled[k] ) );
-
- for ( long i=touchFlag_Current; i<touchFlag_END; i++ )
- SetFlag( (ETouchType) k, (ETouchFlag) i, (mPrefRec.flag[k]==i) );
-
- SetDateTime( (ETouchType) k, mPrefRec.datetime[k] );
- //ConvertString2DateTime( (ETouchType) k );
- }
- }
-
-
- // --------------------------------------------------
- // ・ TransformMemberToStruct
- // --------------------------------------------------
-
- void
- CTouchMePref::TransformMemberToStruct( void )
- {
- mPrefRec.version = mVersion;
- GetWindowRect( mPrefRec.wframe );
- mPrefRec.sync = nButtonValue( GetSync() );
-
- for ( long k=touchType_CreationDate; k<touchType_END; k++ ) {
- mPrefRec.enabled[k] = nButtonValue( GetEnabled( (ETouchType) k ) );
-
- for ( long i=touchFlag_Current; i<touchFlag_END; i++ )
- if ( GetFlag( (ETouchType) k, (ETouchFlag) i ) ) mPrefRec.flag[k] = i;
-
- //ConvertDateTime2String( k );
- mPrefRec.datetime[k] = GetDateTime( (ETouchType) k );
- }
- }
-
-
- // --------------------------------------------------
- // ・ SetWindowRect
- // --------------------------------------------------
-
- void
- CTouchMePref::SetWindowRect(
- const Rect & inWindowRect )
- {
- mWindowRect = inWindowRect;
- }
-
-
- // --------------------------------------------------
- // ・ GetWindowRect
- // --------------------------------------------------
-
- void
- CTouchMePref::GetWindowRect(
- Rect & outWindowRect )
- {
- outWindowRect = mWindowRect;
- }
-
-
- // --------------------------------------------------
- // ・ SetSync
- // --------------------------------------------------
-
- void
- CTouchMePref::SetSync(
- const Boolean inStatus )
- {
- mSync = inStatus;
- }
-
-
- // --------------------------------------------------
- // ・ GetSync
- // --------------------------------------------------
-
- Boolean
- CTouchMePref::GetSync( void )
- {
- return mSync;
- }
-
-
- // --------------------------------------------------
- // ・ SetEnabled
- // --------------------------------------------------
-
- void
- CTouchMePref::SetEnabled(
- const ETouchType inType,
- const Boolean inStatus )
- {
- mEnabled[ inType ] = inStatus;
- }
-
- // --------------------------------------------------
- // ・ GetEnabled
- // --------------------------------------------------
-
- Boolean
- CTouchMePref::GetEnabled(
- const ETouchType inType )
- {
- return mEnabled[ inType ];
- }
-
-
- // --------------------------------------------------
- // ・ SetFlag
- // --------------------------------------------------
-
- void
- CTouchMePref::SetFlag(
- const ETouchType inType,
- const ETouchFlag inFlag,
- const Boolean inStatus )
- {
- if ( inStatus ) mFlag[ inType ] = inFlag;
- }
-
-
- // --------------------------------------------------
- // ・ GetFlag
- // --------------------------------------------------
-
- Boolean
- CTouchMePref::GetFlag(
- const ETouchType inType,
- const ETouchFlag inFlag )
- {
- return ( mFlag[ inType ] == inFlag );
- }
-
-
- // --------------------------------------------------
- // ・ SetFlagNumb
- // --------------------------------------------------
-
- void
- CTouchMePref::SetFlagNumb(
- const ETouchType inType,
- const ETouchFlag inFlag )
- {
- mFlag[ inType ] = inFlag;
- }
-
-
- // --------------------------------------------------
- // ・ GetFlagNumb
- // --------------------------------------------------
-
- ETouchFlag
- CTouchMePref::GetFlagNumb(
- const ETouchType inType )
- {
- return ( mFlag[ inType ] );
- }
-
-
- // --------------------------------------------------
- // ・ SetDateTime
- // --------------------------------------------------
-
- void
- CTouchMePref::SetDateTime(
- const ETouchType inType,
- const unsigned long inValue)
- {
- mDateTime[ inType ] = inValue;
-
- ConvertDateTime2String( inType );
- }
-
-
- // --------------------------------------------------
- // ・ GetDateTime
- // --------------------------------------------------
-
- unsigned long
- CTouchMePref::GetDateTime(
- const ETouchType inType )
- {
- return mDateTime[ inType ];
- }
-
-
- // --------------------------------------------------
- // ・ SetDateString
- // --------------------------------------------------
-
- void
- CTouchMePref::SetDateString(
- const ETouchType inType,
- const Str255 inDateStr)
- {
- LString::CopyPStr( inDateStr, mDateStr[ inType ] );
- // ::BlockMoveData( (Ptr) inDateStr, (Ptr) mDateStr[ inType ], inDateStr[0]+1 );
-
- ConvertString2DateTime( inType );
- }
-
-
- // --------------------------------------------------
- // ・ GetDateString
- // --------------------------------------------------
-
- void
- CTouchMePref::GetDateString(
- const ETouchType inType,
- Str255 outDateStr )
- {
- LString::CopyPStr( mDateStr[ inType ], outDateStr );
- // ::BlockMoveData( (Ptr) mDateStr[ inType ], (Ptr) outDateStr, mDateStr[ inType ][0]+1 );
- }
-
-
- // --------------------------------------------------
- // ・ SetTimeString
- // --------------------------------------------------
-
- void
- CTouchMePref::SetTimeString(
- const ETouchType inType,
- const Str255 inTimeStr )
- {
- LString::CopyPStr( inTimeStr, mTimeStr[ inType ] );
- // ::BlockMoveData( (Ptr) inTimeStr, (Ptr) mTimeStr[ inType ], inTimeStr[0]+1 );
-
- ConvertString2DateTime( inType );
- }
-
-
- // --------------------------------------------------
- // ・ GetTimeString
- // --------------------------------------------------
-
- void
- CTouchMePref::GetTimeString(
- const ETouchType inType,
- Str255 outTimeStr)
- {
- LString::CopyPStr( mTimeStr[ inType ], outTimeStr );
- // ::BlockMoveData( (Ptr) mTimeStr[ inType ], (Ptr) outTimeStr, mTimeStr[ inType ][0]+1 );
- }
-
- // --------------------------------------------------
- // ・ ConvertString2DateTime
- // --------------------------------------------------
-
- void
- CTouchMePref::ConvertString2DateTime(
- const ETouchType inType )
- {
- UDateTime::DateTimeStringToSeconds(
- mDateStr[inType], mTimeStr[inType], mDateTime[ inType ] );
- }
-
-
- // --------------------------------------------------
- // ・ ConvertDateTime2String
- // --------------------------------------------------
-
- void
- CTouchMePref::ConvertDateTime2String(
- const ETouchType inType )
- {
- UDateTime::SecondsToDateTimeString(
- mDateTime[ inType ], mDateStr[inType], mTimeStr[inType] );
- }
-
-
-
- // end of program
-